package com.macro.mall.pay.service.wechat;

import com.macro.mall.pay.service.wechat.bo.CreateH5PrePayInfoInput;
import com.macro.mall.pay.service.wechat.bo.CreateJsApiPrePayInfoInput;
import com.macro.mall.pay.service.wechat.bo.CreateJsApiPrePayInfoOutput;
import com.macro.mall.pay.service.wechat.bo.WeChatRefundInput;

/**
 * class
 *
 * @author xuyanjun
 * @date 2019-10-09
 */

public interface WeChatPayService {

    /**
     * 创建jsapi预支付信息
     *
     * @param input input
     * @return jsapi预支付信息
     */
    CreateJsApiPrePayInfoOutput createJsApiPrePayInfo(CreateJsApiPrePayInfoInput input);

    /**
     * 微信退款
     *
     * @param input input
     */
    void refund(WeChatRefundInput input);

    /**
     * 创建H5预支付信息
     *
     * @param input input
     * @return H5跳转链接
     */
    String createH5PrePayInfo(CreateH5PrePayInfoInput input);
}
